package exception;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JDK7之后 java退出了一个新的特性 Autocloseable 自动关闭特性
 * 旨在解决异常处理机制中繁琐的关闭流操作
 */
public class AutoCloseableDemo {
    public static void main(String[] args) {
        /**
         * 新语法特性要求我们需要在finally中调用close关闭的那些对象在try的()中
         * 定义并初始化即可 编译器在编译时会自动补充finally并调用close方法关闭它们
         * 还原后的代码
         * try()中只能定义并初始化那些实现Autocloseable接口的类
         * 所有的流都实现该接口
         */
        try(
               FileOutputStream fos = new FileOutputStream("java-study-se/fos.dat")
                ){
                fos.write(1);
        }catch (IOException e){
            e.printStackTrace();
        }

    }


}
